<script lang="ts" setup>
import { h, useSlots } from 'vue'
const slots = useSlots()
// 拿到当前组件的插槽内所有内容
const defaultSlot = slots.default ? slots.default() : null
// 定义一个要渲染的数组
const renderArr: any[] = []
if (defaultSlot) {
  // 遍历插槽数组
  defaultSlot.forEach((item, index) => {
    renderArr.push(item)
    if (index < defaultSlot.length - 1) {
      // 给除最后一项外，每一项后面都加上一个i标签
      renderArr.push(h('i', { class: 'iconfont icon-angle-right' }))
    }
  })
}

const XtxBread = () => {
  return h('div', { class: 'xtx-bread' }, renderArr)
}
</script>

<template>
  <XtxBread />
</template>

<style lang="less">
.xtx-bread {
  display: flex;
  padding: 25px 10px;
  &-item {
    a {
      color: #666;
      transition: all 0.4s;
      &:hover {
        color: @xtxColor;
      }
    }
  }
  i {
    font-size: 12px;
    margin-left: 5px;
    margin-right: 5px;
    line-height: 22px;
  }
}
</style>
